package com.julu.appcloud.modules.system.service;


import com.baomidou.mybatisplus.service.IService;
import com.julu.appcloud.modules.system.entity.Menu;
import com.julu.appcloud.modules.system.entity.ShowMenu;
import com.julu.appcloud.modules.system.entity.ZtreeVO;

import java.util.List;
import java.util.Map;


public interface MenuService extends IService<Menu> {
	
    List<Menu> selectAllMenus(Map<String, Object> map);
    
    //查询出所有被停用的menus数据
    List<Menu> getAllStopMenus(Map<String, Object> map);
    

    List<ZtreeVO> showTreeMenus();
    
    List<ShowMenu> getShowMenuByUser(Long id);

    void saveOrUpdateMenu(Menu menu);

    int getCountByPermission(String permission);

    int getCountByName(String name);
    //停用菜单
	void stopMenuById(Long id);
	//启用菜单
	void startMenuById(Long id);
	//删除
	void deleteMenuById(Long id);
	//得到要删除的menu-id再找到当前menu下的parent_id
	//String findParentIdById(Long id);
	
	//得到根菜单下面的子菜单   //得到子菜单下的子菜单
	List<Menu> selectMenusByParentId(Long id);
	
	//使用传过来的id去数据库查询parent_ids所有like id的
	List<Menu> selectMenusParentIdsById(Long id);

}
